home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 90 / CDMM_90_1.ISO / Cycling Manager 2 / CyclingManager2Demo.exe / Disk1 / data1.cab / Game / DataCM2 / scripts / elements / navigation.cnh < prev    next >
Encoding:
Text File  |  2002-05-10  |  2.5 KB  |  115 lines

  1. // navigation.cnh
  2.  
  3. // messages to page
  4. message NavApply();
  5. message NavReload();
  6. message NavBack();
  7.  
  8. // messages from page
  9. message SetApply(boolx _bEnabled);
  10. message SetReload(boolx _bEnabled);
  11.  
  12.  
  13. func Gui_Component NewNavBar();
  14. func void Nav_OnClick(Gui_Component _pComponent);
  15. func void Nav_SetApply(boolx _bEnabled);
  16. func void Nav_SetReload(boolx _bEnabled);
  17.  
  18.  
  19. class Gui_dtNavBar
  20. {
  21.     var Gui_Component    gcApplyButton;
  22.     var Gui_Component    gcReloadButton;
  23.     var Gui_Component    gcBackButton;
  24. };
  25.  
  26. interface Gui_iNavBar
  27. {
  28.     Nav_OnClick        Click;
  29.     Nav_SetApply    SetApply;
  30.     Nav_SetReload    SetReload;
  31. }
  32.  
  33. func Gui_Component NewNavBar()
  34. {
  35.     var Gui_Component composite;
  36.     var Gui_dtNavBar pdtData;
  37.     
  38.     composite = NewObject(Gui_iNavBar);
  39.     pdtData = new Gui_dtNavBar;
  40.     SetData(composite, pdtData);
  41.  
  42.     var i32x iPositionX, iSpaceX;
  43.     iPositionX = 0;
  44.     iSpaceX = 5;
  45.  
  46.     pdtData.gcApplyButton = NewButtonDyn(smBtnValid);
  47.     MountComponent(composite, pdtData.gcApplyButton);
  48.     iPositionX = iPositionX + SizeX(pdtData.gcApplyButton) + iSpaceX;
  49.  
  50.     pdtData.gcReloadButton = NewButtonDyn(smDefaultButton);
  51.     MountComponent(composite, pdtData.gcReloadButton);
  52.     MoveTo(pdtData.gcReloadButton, iPositionX, 0);
  53.     iPositionX = iPositionX + SizeX(pdtData.gcReloadButton) + iSpaceX;
  54.  
  55.     pdtData.gcBackButton = NewButtonDyn(smLeftButton);
  56.     MountComponent(composite, pdtData.gcBackButton);
  57.     MoveTo(pdtData.gcBackButton, iPositionX, 0);
  58.     iPositionX = iPositionX + SizeX(pdtData.gcBackButton);
  59.     
  60.     StretchTo(composite, iPositionX, SizeY(pdtData.gcApplyButton));
  61.     return composite;
  62. }
  63.  
  64. func void Nav_OnClick(Gui_Component _pComponent)
  65. {
  66.     var Gui_Component pthis, pparent;
  67.     pthis = GetThis();
  68.  
  69.     var Gui_dtNavBar pdtData;
  70.     pdtData = GetData(pthis);
  71.  
  72.     pparent = GetParent(pthis);
  73.  
  74.     // send message to page
  75.     if (_pComponent==pdtData.gcApplyButton)
  76.     {
  77.         pparent<<NavApply();
  78.     }
  79.  
  80.     if (_pComponent==pdtData.gcReloadButton)
  81.     {
  82.         pparent<<NavReload();
  83.     }
  84.  
  85.     if (_pComponent==pdtData.gcBackButton)
  86.     {
  87.         pparent<<NavBack();
  88.     }
  89. }
  90.  
  91. //
  92. func void Nav_SetApply(boolx _bEnabled)
  93. {
  94.     var Gui_Component pthis, pparent;
  95.     pthis = GetThis();
  96.  
  97.     var Gui_dtNavBar pdtData;
  98.     pdtData = GetData(pthis);
  99.  
  100.     if (_bEnabled) pdtData.gcApplyButton<<Show();
  101.     else pdtData.gcApplyButton<<Hide();
  102. }
  103.  
  104. //
  105. func void Nav_SetReload(boolx _bEnabled)
  106. {
  107.     var Gui_Component pthis, pparent;
  108.     pthis = GetThis();
  109.  
  110.     var Gui_dtNavBar pdtData;
  111.     pdtData = GetData(pthis);
  112.  
  113.     if (_bEnabled) pdtData.gcReloadButton<<Show();
  114.     else pdtData.gcReloadButton<<Hide();
  115. }